<?php


namespace Home\Controller;

/**
 * 文档模型控制器
 * 文档模型列表和详情
 */
class ArticleController extends HomeController {

    public $document;
    public $category;
    public function _initialize()
    {
       parent::_initialize();
       $this->document=D("document");
       $this->category=D("Category");
    }

    /* 文档模型频道页 */
	public function index(){
		/* 分类信息 */
		$category = $this->category();

		//频道页只显示模板，默认不读取任何内容
		//内容可以通过模板标签自行定制

		/* 模板赋值并渲染模板 */
		$this->assign('category', $category);
		$this->display($category['template_index']);
	}

	/* 文档模型列表页 */
	public function lists($p = 1){
		/* 分类信息 */
		$category = $this->category();

		/* 获取当前分类列表 */
		$Document = D('Document');
		$list = $Document->page($p, $category['list_row'])->lists($category['id']);
		if(false === $list){
			$this->error('获取列表数据失败！');
		}

		/* 模板赋值并渲染模板 */
		$this->assign('category', $category);
		$this->assign('list', $list);
		$this->display($category['template_lists']);
	}

	/* 文档模型详情页 */
	public function detail($id = 0, $p = 1){
		/* 标识正确性检测 */
		if(!($id && is_numeric($id))){
			$this->error('文档ID错误！');
		}

		/* 页码检测 */
		$p = intval($p);
		$p = empty($p) ? 1 : $p;

		/* 获取详细信息 */
		$Document = D('Document');
		$info = $Document->detail($id);
		if(!$info){
			$this->error($Document->getError());
		}

		/* 分类信息 */
		$category = $this->category($info['category_id']);

		/* 获取模板 */
		if(!empty($info['template'])){//已定制模板
			$tmpl = $info['template'];
		} elseif (!empty($category['template_detail'])){ //分类已定制模板
			$tmpl = $category['template_detail'];
		} else { //使用默认模板
			$tmpl = 'Article/'. get_document_model($info['model_id'],'name') .'/detail';
		}

		/* 更新浏览数 */
		$map = array('id' => $id);
		$Document->where($map)->setInc('view');

		/* 模板赋值并渲染模板 */
		$this->assign('category', $category);
		$this->assign('info', $info);
		$this->assign('page', $p); //页码
		$this->display($tmpl);
	}

	/* 文档分类检测 */
	private function category($id = 0){
		/* 标识正确性检测 */
		$id = $id ? $id : I('get.category', 0);
		if(empty($id)){
			$this->error('没有指定文档分类！');
		}

		/* 获取分类信息 */
		$category = D('Category')->info($id);
		if($category && 1 == $category['status']){
			switch ($category['display']) {
				case 0:
					$this->error('该分类禁止显示！');
					break;
				//TODO: 更多分类显示状态判断
				default:
					return $category;
			}
		} else {
			$this->error('分类不存在或被禁用！');
		}
	}
	/*自己写的方法*/
	public function about(){
	    /*关于我们*/
        $cate_id=147;//分类id
        $this->meta($cate_id);
        $lists=$this->document->lists($cate_id);
        $this->assign("lists",$lists);
        $id=I("get.id",$lists[0]['id'],"int");
        $article_data=$this->document->detail($id);
        $this->assign("article_data",$article_data);
        if($article_data['template']=="img"){
            $article_list=$this->document->sub_document_page($article_data['id'],6);
            $this->assign("article_list",$article_list);
            //print_r($article_list);exit;
            $this->display("about_list");
        }else{
            $this->display();
        }
    }
    public function about_detail($id){
        $cate_id=147;//分类id
        $this->meta($cate_id);
        $lists=$this->document->lists($cate_id);
        $this->assign("lists",$lists);
        $article_data=$this->document->detail(intval($id));
        $this->assign("article_data",$article_data);
        $article_p_data=$this->document->detail($article_data['pid']);
        $this->assign("article_p_data",$article_p_data);
        $this->display();
    }
    public function news(){
        /*新闻动态*/
        $cate_id=49;//分类id
        $this->meta($cate_id);
        /*分类列表*/
        $lists=$this->document->lists($cate_id);
        $this->assign("lists",$lists);
        /*文章列表*/
        $id=I("get.id",$lists[0]['id'],"int");
        $article_data =$this->document->detail($id);
        $this->assign("article_data",$article_data);
        $position_article_list = $this->document->sub_document($id,true,3,2);//推荐位
        $this->assign("position_article_list",$position_article_list);
        $article_list = $this->document->sub_document_page($id,3);//推荐位
        $this->assign("article_list",$article_list);
        $this->display();
    }
    public function news_detail(){
        $cate_id=49;//分类id
        $this->meta($cate_id);
        /*分类列表*/
        $lists=$this->document->lists($cate_id);
        $this->assign("lists",$lists);
        /*文章详情*/
        $id=I("get.id",0,"int");
        $article_data = $this->document->detail($id);
        $this->assign("article_data",$article_data);
        $p_article_data = $this->document->detail($article_data['pid']);
        $this->assign("p_article_data",$p_article_data);
        $this->display();
    }
    public function cases(){
        //工程案例
        $cate_id=170;//分类id
        $this->meta($cate_id);
        $lists=$this->document->lists($cate_id);
        $this->assign("lists",$lists);
        $id=I("get.id",$lists[0]['id'],"int");
        $article_list = $this->document->sub_document_page($id,6);
        $this->assign("article_list",$article_list);
        $article_data =$this->document->detail($id);
        $this->assign("article_data",$article_data);
        $this->display();
    }
    public function cases_detail(){
        //工程案例
        $cate_id=170;//分类id
        $this->meta($cate_id);
        $lists=$this->document->lists($cate_id);
        $this->assign("lists",$lists);
        $id=I("get.id",0,"int");
        $article_data=$this->document->detail($id);
        $this->assign("article_data",$article_data);
        $p_article_data = $this->document->detail($article_data['pid']);
        $this->assign("p_article_data",$p_article_data);//父级详情
        $this->display();
    }
    public function recruitment(){
        $cate_id=171;//分类id
        $this->meta($cate_id);
        $lists=$this->document->list_page($cate_id,10);
        $this->assign("lists",$lists);
        $this->display();
    }
    public function recruitment_detail($id){
        $cate_id=171;//分类id
        $this->meta($cate_id);
        $article_data =$this->document->detail(intval($id));
        $this->assign("article_data",$article_data);
        $this->display();
    }
    public function technology(){
        $cate_id=159;//分类id
        $this->meta($cate_id);
        $lists=$this->document->lists($cate_id);
        $this->assign("lists",$lists);
        $cate_id = I("cate_id",$lists[0]['id'],"int");//分类id
        $p_article_data =$this->document->detail($cate_id);
        $this->assign("p_article_data",$p_article_data);//当前分类标题
        $article_list = $this->document->sub_document($cate_id,"id,title");
        $this->assign("article_list",$article_list);
        $id=I("get.id",$article_list[0]['id'],"int");
        $article_data = $this->document->detail($id);
        $this->assign("article_data",$article_data);
        $this->display();
    }

}
